home *** CD-ROM | disk | FTP | other *** search
/ Ian & Stuart's Australian Mac 1993 September / September 93.iso / Archives / Fun, Tricks & Hacks / Silent Alarm, not! / SonicAlarmMisc.h < prev   
Text File  |  1992-06-14  |  3KB  |  94 lines

  1. #ifndef __SONICALARMMISC__
  2. #define __SONICALARMMISC__
  3. #endif
  4.  
  5. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  6. // public routines 
  7.  
  8. Boolean            HasSoundInput(void);
  9. OSErr            InitSndTools(void);
  10. void            CloseSndTools(void);
  11. void            CloseSndDevice(void);
  12. OSErr            GetBufferOffset(Handle sndHandle, long *offset);
  13. Boolean            IsPlayingSound(void);
  14. OSErr            PlaySound(short resID);
  15. void            StopPlaying(void);
  16. OSErr            InitSndChan(void);
  17. void            CloseSndChan(void);
  18. short            GetCurLevel(void);
  19.  
  20. void            DrawCountDown(WindowPtr window, Point location, long *lastTickCount, short *secondsCountDown);
  21. void            DrawPassword(Rect drawArea, short length);
  22. Boolean            IsVolumeTooLoud(void);
  23. short            GetAverageLevel(void);
  24. void            UpdateAverageLevel(void);
  25. void            SetSensitivity(short percentage);
  26. short            GetSensitivity(void);
  27. long            GetSleep(void);
  28. short            NumToolboxTraps(void);
  29. Boolean            TrapExists(short theTrap);
  30. Boolean            FailLowMemory(long memRequested);
  31. void            AlertUser(short errNum, short errStrIndex, Boolean fatal);
  32.  
  33. OSErr            CreateLevelArray(void);
  34. unsigned char    LimitStringLength(StringPtr pString, unsigned char max);
  35. Boolean            IsDAWindow(WindowPtr window);
  36. void            SelectButton(ControlHandle button);
  37. void            *GetMyWindow(long windowSize, short windID);
  38. long            GetMyWindowType(WindowPtr window);
  39. Boolean            IsWindowModal(WindowPtr window);
  40. void            *FindMyWindow(short windRefCon);
  41. ControlHandle    GetMyControl(short cntlRefCon, WindowPtr window);
  42. ControlHandle    FindMyControl(WindowPtr window, short cntlRefCon);
  43. void            ActivateControls(WindowPtr window, Boolean becomingActive);
  44.  
  45. pascal void OutlineControl(short depth, short deviceFlags, GDHandle targetDevice, ControlHandle button);
  46. GDHandle        GetRectDevice(Rect globalRect);
  47.  
  48. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  49. // types
  50.  
  51. // A format 2 'snd ' resources.
  52.  
  53. typedef struct {
  54.     short        format;
  55.     short        refCount;
  56.     short        numCmds;
  57.     SndCommand    cmds[1];
  58. } Snd2Header, *Snd2HdrPtr, **Snd2HdrHndl;
  59.  
  60.  
  61. typedef SndCommand *SndCmdPtr;    // Ptr to a sound command, for type coersion
  62.  
  63. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  64. // constants 
  65.  
  66. #define kCntlActivate        0            /* enabled control’s hilite state */
  67. #define kCntlDeactivate        0xFF        /* disabled control’s hilite state */
  68. #define kSelect                1            /* select the control */
  69. #define kDeselect            0            /* deselect the control */
  70. #define kCntlOn                1            /* control’s value when truned on */
  71. #define kCntlOff            0            /* control’s value when truned off */
  72.  
  73. #define kButtonFrameInset        (-4)        /* inset rectangle adjustment around button */
  74. #define kButtonFrameSize        3            /* button frame’s pen size */
  75.  
  76. // key from a key down event
  77. #define charBackspace        '\b'        /* ASCII Backspace character */
  78. #define charEnter            '\003'        /* ASCII Enter character */
  79. #define charEscape            '\033'        /* ASCII Escape (aka Clear) key */
  80. #define charHelp            '\005'        /* ASCII Help key */
  81. #define charHome            '\001'        /* ASCII the Home key */
  82. #define charLeft            '\034'        /* ASCII left arrow */
  83. #define charPageDown        '\f'        /* ASCII Page Down key */
  84. #define charPageUp            '\013'        /* ASCII Page Up key */
  85. #define charReturn            '\r'        /* ASCII Return character */
  86. #define charRight            '\035'        /* ASCII right arrow */
  87. #define charSpace            ' '            /* ASCII Space character */
  88. #define charTab                '\t'        /* ASCII Tab character */
  89. #define charUp                '\036'        /* ASCII up arrow */
  90. #define charPeriod            '.'            /* ASCII period */
  91.  
  92. #define kMaxMeterLevel    255                // maximum meter level 
  93.  
  94.